class Test {
    static void main() {
		int x <= 5-4*2;
		
		x <= 2 + 2;

		int[] arr;
		x <= arr.length;

		// redefine variable
		long l;
    }		
}

class Child extends Parent{
	int f;
	
	// re-definition
    int f(int a) {
        		pre:a>0;
		post: a>0;
		
		while (a>0){
			int t;
			t <= 3;
		}

		// ERROR: out of block
		t <= 3;

		// function call error
		a <= this.f2(a);

       	return a;
	}
	
	// function has the same name with field
	 int f(long a){

		// ERROR not a condition
		pre:a + 1;

		// ERROR: no b declaration
		post: b>0;

		return 0;
	}
	
	// another functon
	 int f2(boolean b){
		pre:b>0;
		post: b;

		// return type error
		return b;
	}
}

// cyclic inheritance
class Parent extends someclass{
	int p;
}

// inherits not existed class
class someclass {
}